<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.prime.com.tr/ui">

<ui:composition template="../template/layout.xhtml">
	<ui:define name="titulo">#{notaControle.tituloPagina}</ui:define>

	<ui:define name="frConteudo">
		<h:panelGrid columns="1" border="0" height="100%">
			<!-- bloco de edição -->
			<p:panel header="#{notaControle.tituloPagina}"
				rendered="#{notaControle.estadoCrud}">
				<h:panelGrid columns="1">
					<f:facet name="header">
						<p:messages id="msgErro" />
					</f:facet>

					<h:panelGrid columns="1" border="0"
						rendered="#{!notaControle.estadoFormVazio}">

						<p:tabView cache="false">
							<!-- formulario nota -->
							<p:tab title="Nota">
								<h:form id="formNota">
									<h:panelGrid columns="1" border="0" height="100%">
										<!-- bloco de edição -->
										<p:panel header="#{notaControle.tituloPagina}"
											rendered="#{notaControle.estadoCrud}">
											<h:panelGrid columns="1">
												<f:facet name="header">
													<p:messages id="msgErro" />
												</f:facet>

												<h:panelGrid columns="2" border="0">

													<h:outputLabel value="#{msg.notaNumeroRef}"
														for="referencia" />
													<h:inputText id="referencia" label="#{msg.notaNumeroRef}"
														value="#{notaControle.infoBean.numeroReferencia}"
														size="15" maxlength="12" required="true"
														requiredMessage="#{msg.notaNumeroRefRequiredMessage}" />

													<h:outputLabel value="#{msg.notaDataEmissao}"
														for="dataEmissao" />
													<p:calendar id="dataEmissao" label="#{msg.notaDataEmissao}"
														value="#{notaControle.infoBean.dataEmissao}"
														required="true"
														requiredMessage="#{msg.notaDataEmissaoRequiredMessage}"
														navigator="true" showButtonPanel="true" effect="fold"
														locale="pt" pattern="dd-MM-yyyy" size="15" />

													<h:outputLabel value="#{msg.nota}" for="nota" />
													<h:inputTextarea id="nota" label="#{msg.nota}"
														value="#{notaControle.infoBean.nota}" required="true"
														requiredMessage="#{msg.notaRequiredMessage}" rows="3"
														cols="40" />

													<h:outputLabel value="#{msg.tipoNota}" for="tipoNota" />
													<h:selectOneMenu id="tipoNota"
														value="#{notaControle.infoBean.tipoNota}" required="true"
														requiredMessage="#{msg.tipoNotaRequiredMessage}"
														style="with:700px">
														<f:selectItems
															value="#{tipoNotaControle.itemsAvailableSelectOne}" />
													</h:selectOneMenu>

													<h:outputLabel value="#{msg.fornecedorNome}"
														for="fornecedor" />
													<h:selectOneMenu id="fornecedor"
														value="#{notaControle.infoBean.fornecedor}"
														required="true"
														requiredMessage="#{msg.fornecedorNomeRequiredMessage}"
														style="with:700px">
														<f:selectItems
															value="#{fornecedorControle.itemsAvailableSelectOne}" />
													</h:selectOneMenu>

													<f:facet name="footer">
														<h:panelGroup>
															<center>
																<h:commandButton id="salvarButton"
																	value="#{msg.salvarButton}"
																	action="#{notaControle.gravar}"
																	rendered="#{notaControle.estadoAdicionar}">
																	<f:ajax execute="@form" render=":formNota" />
																</h:commandButton>
																<h:commandButton id="alterarButton"
																	value="#{msg.alterarButton}"
																	action="#{notaControle.gravar}"
																	rendered="#{notaControle.estadoActualizar}" />
																<h:commandButton id="eliminarButton"
																	value="#{msg.eliminarButton}"
																	action="#{notaControle.excluir}"
																	rendered="#{notaControle.estadoEliminar}"
																	onclick="if(!confirm('Confirma a exclusão do registo?')) return false;" />
																<h:commandButton id="limparButton"
																	value="#{msg.limparButton}" type="reset"
																	rendered="#{notaControle.estadoAdicionar}" />
																<h:commandButton id="cancelarButton"
																	value="#{msg.cancelarButton}"
																	action="#{notaControle.voltar}" immediate="true" />
															</center>
														</h:panelGroup>
													</f:facet>
												</h:panelGrid>
											</h:panelGrid>
										</p:panel>
									</h:panelGrid>
								</h:form>
							</p:tab>
							<!-- fim formulario nota -->

							<!-- formulario items da nota -->
							<p:tab title="Items">
								<h:form id="formItem">
									<h:panelGrid columns="1" border="0" height="100%">

										<!-- bloco de edição -->
										<p:panel header="#{movimentoFornecedorControle.tituloPagina}"
											rendered="#{!notaControle.estadoEliminar}">
											<h:panelGrid columns="1">
												<f:facet name="header">
													<p:messages id="msgErro" />
												</f:facet>
												<h:panelGrid border="0" columns="2"
													rendered="#{!notaControle.estadoFormVazio}">

													<h:outputLabel value="#{msg.movimentoNome}" for="nome" />
													<h:inputText id="nome" label="#{msg.movimentoNome}"
														value="#{notaControle.infoBeanItem.nome}" required="true"
														requiredMessage="#{msg.movimentoNomeRequiredMessage}">
													</h:inputText>

													<h:outputLabel value="#{msg.movimentoNumeroSerie}"
														for="numeroSerie" />
													<h:inputText id="numeroSerie"
														label="#{msg.movimentoNumeroSerie}"
														value="#{notaControle.infoBeanItem.numeroSerie}"
														required="true"
														requiredMessage="#{msg.movimentoNumeroSerieRequiredMessage}">
													</h:inputText>

													<h:outputLabel value="#{msg.movimentoNumeroRef}"
														for="referencia" />
													<h:inputText id="referencia" label="#{msg.movimentoNome}"
														value="#{notaControle.infoBeanItem.referencia}"
														required="true"
														requiredMessage="#{msg.movimentoNumeroRefRequiredMessage}">
													</h:inputText>

													<h:outputLabel value="#{msg.movimentoPvpUsd}" for="pvpUsd" />
													<h:inputText id="pvpUsd" label="#{msg.movimentoPvpUsd}"
														value="#{notaControle.infoBeanItem.pvpUsd}"
														required="true"
														requiredMessage="#{msg.movimentoPvpUsdRequiredMessage}">
													</h:inputText>

													<h:outputLabel value="#{msg.produto}" for="produto" />
													<h:selectOneMenu id="produto" label="#{msg.produto}"
														value="#{notaControle.infoBeanItem.produto}"
														required="true"
														requiredMessage="#{msg.produtoRequiredMessage}">
														<f:selectItems
															value="#{produtoControle.itemsAvailableSelectOne}" />
													</h:selectOneMenu>

													<h:outputLabel value="#{msg.statusMovimento}"
														for="statusMovimento" />
													<h:selectOneMenu id="statusMovimento"
														label="#{msg.statusMovimento}"
														value="#{notaControle.infoBeanItem.statusMovimento}"
														required="true"
														requiredMessage="#{msg.statusMovimentoRequiredMessage}">
														<f:selectItems
															value="#{statusMovimentoControle.itemsAvailableSelectOne}" />
													</h:selectOneMenu>

													<h:outputLabel value="#{msg.utente}" for="utente" />
													<h:selectOneMenu id="utente" label="#{msg.utente}"
														value="#{notaControle.infoBeanItem.utente}"
														required="true"
														requiredMessage="#{msg.utenteRequiredMessage}">
														<f:selectItems
															value="#{utenteControle.itemsAvailableSelectOne}" />
													</h:selectOneMenu>

													<h:outputLabel value="#{msg.tipoGarantia}"
														for="tipoGrantia" />
													<h:selectOneMenu id="tipoGrantia"
														label="#{msg.tipoGarantia}"
														value="#{notaControle.infoBeanItem.tipoGarantia}"
														required="true"
														requiredMessage="#{msg.tipoGarantiaRequiredMessage}">
														<f:selectItems
															value="#{tipoGarantiaControle.itemsAvailableSelectOne}" />
													</h:selectOneMenu>

													<h:outputLabel value="#{msg.movimentoTempoGarantia}"
														for="tempoGarantia" />
													<h:inputText id="tempoGarantia"
														label="#{msg.movimentoTempoGarantia}"
														value="#{notaControle.infoBeanItem.tempoGarantiaMeses}"
														required="true"
														requiredMessage="#{msg.movimentoTempoGarantia}">
													</h:inputText>

													<h:outputLabel value="#{msg.movimentoEncargoMensal}"
														for="encargoMensal" />
													<h:inputText id="encargoMensal"
														label="#{msg.movimentoEncargoMensal}"
														value="#{notaControle.infoBeanItem.encargoMensalUsd}"
														required="true"
														requiredMessage="#{msg.movimentoEncargoMensalRequiredMessage}">
													</h:inputText>

													<h:outputLabel value="#{msg.movimentoOpcaoCompra}"
														for="opcaoCompra" />
													<h:inputText id="opcaoCompra"
														label="#{msg.movimentoOpcaoCompra}"
														value="#{notaControle.infoBeanItem.opcaoCompraUsd}">
													</h:inputText>

													<h:outputLabel value="" />
													<h:panelGroup
														rendered="#{notaControle.estadoAdicionar || notaControle.estadoActualizar}">
														<h:commandButton id="adicionarButton"
															value="#{msg.adicionarButton}"
															action="#{notaControle.adicionarItem}">
															<f:ajax execute="@form" render=":formItem :formListagem" />
														</h:commandButton>
														<h:commandButton id="limparButton2"
															value="#{msg.limparButton}" type="reset">
															<f:ajax execute="@form" render=":formItem" />
														</h:commandButton>
													</h:panelGroup>

													<f:facet name="footer">
														<center>
															<h:form id="formListagemItem">

																<p:dataTable id="tabela" var="bean"
																	value="#{notaControle.listaInfosItem}" paginator="true"
																	rows="5"
																	rendered="#{notaControle.estadoAdicionar || notaControle.estadoActualizar}">

																	<f:facet name="header">
																		<h:outputLabel value="#{notaControle.tituloPagina}" />
																	</f:facet>

																	<p:column sortBy="#{bean.nome}" filterBy="#{bean.nome}">
																		<f:facet name="header">
																			<h:outputText value="#{msg.movimentoNome}" />
																		</f:facet>
																		<h:outputText value="#{bean.nome}" />
																	</p:column>

																	<p:column sortBy="#{bean.numeroSerie}"
																		filterBy="#{bean.numeroSerie}">
																		<f:facet name="header">
																			<h:outputText value="#{msg.movimentoNumeroSerie}" />
																		</f:facet>
																		<h:outputText value="#{bean.numeroSerie}" />
																	</p:column>

																	<p:column sortBy="#{bean.referencia}"
																		filterBy="#{bean.referencia}">
																		<f:facet name="header">
																			<h:outputText value="#{msg.movimentoNumeroRef}" />
																		</f:facet>
																		<h:outputText value="#{bean.referencia}" />
																	</p:column>

																	<p:column>
																		<h:panelGroup>
																			<h:commandLink
																				action="#{movimentoFornecedorControle.preparaEditar}">
																				<h:graphicImage library="imagens"
																					name="editar16a.png" style="border:0" />
																				<h:outputText value="#{msg.geralLinkAlterar}" />
																				<f:setPropertyActionListener
																					target="#{movimentoFornecedorControle.infoBean}"
																					value="#{bean}" />
																			</h:commandLink>
																			<h:outputText value="  " />
																			<h:commandLink
																				action="#{movimentoFornecedorControle.preparaEliminar}">
																				<h:graphicImage library="imagens"
																					name="deletar16a.png" style="border:0" />
																				<h:outputText value="#{msg.geralLinkEliminar}" />
																				<f:setPropertyActionListener
																					target="#{movimentoFornecedorControle.infoBean}"
																					value="#{bean}" />
																			</h:commandLink>
																		</h:panelGroup>
																	</p:column>

																</p:dataTable>
															</h:form>
														</center>
													</f:facet>

												</h:panelGrid>
											</h:panelGrid>
										</p:panel>
										<!-- fim do bloco de edição -->
									</h:panelGrid>
								</h:form>
							</p:tab>
							<!-- fim do formulario items do pedido -->

						</p:tabView>
					</h:panelGrid>

					<!-- formulario de listagem -->
					<h:form id="formListagem">

						<p:dataTable emptyMessage="nenhum registo encontrado" id="tabela" var="bean2" 
							value="#{notaControle.listaInfosNotaItem}" paginator="true"
							rows="5" rendered="#{notaControle.estadoCrud}">

							<f:facet name="header">
								<h:outputLabel value="Elementos da Nota" />
							</f:facet>

							<p:column sortBy="#{bean2.produto.produto}" filterBy="#{bean2.produto.produto}">
								<f:facet name="header">
									<h:outputText value="#{msg.produto}" />
								</f:facet>
								<h:outputText value="#{bean2.produto.produto}" />
							</p:column>

							<p:column>
								<f:facet name="header">
									<h:outputText value="Quantidade" />
								</f:facet>
								<h:outputText value="#{bean2.quantidade}" />
							</p:column>

							<p:column >
								<f:facet name="header">
									<h:outputText value="#{msg.tipoProduto}" />
								</f:facet>
								<h:outputText value="#{bean2.produto.tipoProduto.tipo}" />
							</p:column>

							<p:column >
								<f:facet name="header">
									<h:outputText value="#{msg.marca}" />
								</f:facet>
								<h:outputText value="#{bean2.produto.modelo.marca.marca}" />
							</p:column>

							<p:column >
								<f:facet name="header">
									<h:outputText value="#{msg.modelo}" />
								</f:facet>
								<h:outputText value="#{bean2.produto.modelo.modelo}" />
							</p:column>

						</p:dataTable>

					</h:form>
					<!-- fim formulario de listagem -->

				</h:panelGrid>
			</p:panel>
			<!-- fim do bloco de edição -->
			<h:form>
				<center>
					<h:commandLink action="#{notaControle.voltar}" immediate="true"
						value="#{msg.geralLinkListaRegistos}" />
				</center>
			</h:form>
		</h:panelGrid>
	</ui:define>
</ui:composition>
</html>